草庐IT

git commit规范

全部标签

ruby - RSpec 规范没有运行?

我在Sinatra应用程序上运行某些rspec规范时遇到问题。我只是在学习Ruby,所以很遗憾,我的知识不足以解决我在使用一本书(RubyonRails中面向服务的设计,PaulDix着)中的代码时遇到的问题。问题是这些测试并没有真正运行(我认为)。在应用程序目录中,我运行$ruby​​spec/service_spec.rb,但我没有看到测试通过或失败的迹象。我从文件/service.rb中得到几条日志消息,但这就是显示的所有输出。我加入了一些puts调用来显示beforeblock和itblock没有被执行(即使describeblock被执行)。如果您想查看有关代码的更多信息,请

ruby - 将 SitePrism 与 Rspec 和 Capybara 功能规范一起使用

我最近通过ruby​​weekly电子邮件发现了SitePrism。看起来很棒。我可以预见它会成为future。我看到的例子大多是cucumber步骤。我想弄清楚如何将SitePrism与rspec结合使用。假设主页为@home_page,login_page为@login_page我可以这样理解@home_page.load#=>visit@home.expanded_url然而,我不确定的部分是,如果我想点击例如“登录”链接,capybara中的浏览器会转到登录页面-然后我如何访问登录页面的实例,没有加载它。@home_page=HomePage.new@home_page.loa

ruby-on-rails - 在规范中使用 describe/it 优于 feature/scenario 的优势? (除了语法糖)

Ruby1.9.3、Rails3.1.10、RSpec2.13.0、Capybara2.2.1我正在为Rails3应用程序编写测试——一个供客户(和管理员)配置各种电话设置的GUI。我已经编写了6个左右的规范文件,之前还编写了很多其他文件(我将其用作模板)。以下是规范文件的快照。#spec/features/admin/administrators_spec.rbrequire'spec_helper'includeAdministratorHelperincludeHelpersfeature"ExerciseAdministratorspage"include_context"sh

ruby-on-rails - 在 RSpec 和 Capybara 功能规范中伪造实例变量

在我开始重构我公司的一些旧代码之前,我正在尝试设置一些功能规范。这是一种非常规的设置,但我能够充分了解测试替身以绕过身份验证以开始使用。我仍然遇到的一个问题是,在我绕过的这些方法中设置的一些实例变量是View所期望的,所以我得到了undefinedmethodfornil:NilClass错误。在对程序代码进行任何更改之前,我希望运行规范。在这种情况下,我可以轻松地将特定实例变量移动到另一个方法。但我相信还会有更多这样的情况出现。这是我目前正在处理的示例:defsecurity_level@right_now=Time.now##othercodethatwontworkwithout

ruby-on-rails - Rails 3.1 中的规范失败 - NoMethodError : private method 'rand' called for Array

当我运行我的规范时,我突然遇到了一个奇怪的错误,这导致我的规范失败。这些规范以前工作过——但最近我们从Rails3.0升级到Rails3.1。似乎机械师在尝试为我的测试创建数据时遇到了一些问题,但我不太明白为什么“rand”突然不可用。如有任何想法/提示,我们将不胜感激。这是我蓝图中的一行:Invoice.blueprintdoinvno{Faker::Base.bothify(["#######","N######","C######"].rand)}order_no{Faker::Base.numerify("N######")}这是关于我的环境的一些信息-ruby-v:ruby1

ruby - 我该如何处理规范化?

我正在与两个API交互,它们返回格式完全不同的地址。一个返回类似“6Avenue”的地址,另一个返回“6Ave.”我探索了使用Normalicgem,但出于某种原因,我返回的许多地址格式错误或空白:“6Avenue”返回为“Ave.”。我也试过GeoCoder,但是Google和Yahoo等每个API都设置了配额。在对开发中的应用程序进行几个小时的测试后,这些配额过期了。这显然不会在生产中使用。如果有一个库可以让我做类似评估"6Ave."的事情,那就太好了。==“6大道”。 最佳答案 对于美国地址,USPS提供anaddressap

ruby-on-rails - 使用 RSpec 的请求规范测试外部 API

我正在尝试使用RSpec的请求规范将主机更改为指向远程URL而不是localhost:3000。如果可行,请告诉我。注意:只是想提一下,远程URL只是一个JSONAPI。 最佳答案 是的,这是可能的基本上require'net/http'Net::HTTP.get(URI.parse('http://www.google.com'))#=>Googlehomepagehtml但是您可能需要模拟响应,因为测试最好不要依赖外部资源。然后你可以使用像Fakeweb或类似的模拟gem:https://github.com/chrisk/fa

ruby-on-rails - 使用 API key 的 RSpec 请求规范

我在这方面找不到任何东西。如何在我的RSpec请求测试中传递APIkey?我的APIkey是在header中发送的,所以我在网络中像这样传递它:Header:AuthorizationValue:Tokentoken="c32a29a71ca5953180c0a60c7d68ed9e"如何在RSpec请求规范中传递它?谢谢!!编辑:这是我的规范:require'spec_helper'describe"sessions"dobeforedo@program=FactoryGirl.create(:program)@user=FactoryGirl.create(:user)Factor

ruby-on-rails - 如何创建一个规范来验证 Pundit 拒绝未登录的用户?

我在我的封闭系统RubyonRails应用程序(使用Rails4.1.5和Rspec3.0)上使用Punditgem进行授权我已将我的应用程序策略配置为在未按照Pundit文档中的建议定义用户时引发异常:classApplicationPolicyattr_reader:user,:recorddefinitialize(user,record)raisePundit::NotAuthorizedError,"mustbeloggedin"unlessuser@user=user@record=recordendend我如何编写一个规范来验证每个Pundit策略是否拒绝一个nil用户?

ruby-on-rails - 测试时错误的 URI(不是 URI?) |规范

我有这些奇怪的问题,我不知道如何解决。如果可以,请你帮助我。测试结果如下:1)AdmincaneditahotelFailure/Error:visitedit_admin_hotel_path(hotel)URI::InvalidURIError:badURI(isnotURI?):#./spec/requests/admin_spec.rb:32:in`block(2levels)in'2)AdmincaneditauserFailure/Error:visitedit_admin_user_path(admin)URI::InvalidURIError:badURI(isnotU